package rg_opt

import (
	"wails/schema/dynamic/gamedo"
)

type Y邮件任务页面 struct {
}

type Y邮件任务页面响应 struct {
	// @alias 配置
	P配置 *Y邮件任务页面配置 `alias:"配置"`
}

type Y邮件任务页面配置 struct {
	// @alias 列表
	L列表 *S数据列表配置 `alias:"列表"`
	// @alias 修改
	X修改 *S数据修改配置 `alias:"修改"`
	// @alias 创建
	C创建 *S数据创建配置 `alias:"创建"`
	// @alias 读取
	D读取 *S数据读取配置 `alias:"读取"`
}

type Y邮件任务列表 struct {
	*S数据列表参数
}

type Y邮件任务列表响应 struct {
	// @alias 数据
	S数据 []*Y邮件任务列表项 `alias:"数据"`
	// @alias 总数
	Z总数 int `alias:"总数"`
	// @alias 页码
	Y页码 int `alias:"页码"`
}

// 列表项对象约束编号
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type Y邮件任务列表项 struct {
	// @alias _id
	B编号 string `alias:"_id"`
	// @alias 目标类型
	M目标类型 gamedo.Y邮件任务目标 `alias:"目标类型"`
	// @alias 目标
	M目标 string `alias:"目标"`
	// @alias 状态
	Z状态 gamedo.Y邮件任务状态 `alias:"状态"`
	// @alias 创建者
	C创建者 string `alias:"创建者"`
	// @alias 执行者
	C执行者 string `alias:"执行者"`
	// @alias 更新时间
	G更新时间 int `alias:"更新时间" date:"dateHMS"`
	// @alias 创建时间
	C创建时间 int `alias:"创建时间" date:"dateHMS"`
}

// 数据对象约束编号
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type Y邮件任务数据 struct {
	// @alias 目标类型
	M目标类型 gamedo.Y邮件任务目标 `alias:"目标类型"`
	// @alias 需要游戏服编组
	X需要游戏服编组 []interface{} `alias:"需要游戏服编组" dlink:"游戏服编组"`
	// @alias 需要游戏服
	X需要游戏服 []interface{} `alias:"需要游戏服" dlink:"游戏服"`
	// @alias 排除游戏服编组
	P排除游戏服编组 []interface{} `alias:"排除游戏服编组" dlink:"游戏服编组"`
	// @alias 排除游戏服
	P排除游戏服 []interface{} `alias:"排除游戏服" dlink:"游戏服"`
	// @alias 需要角色
	X需要角色 []interface{} `alias:"需要角色" dlink:"角色"`
	// @alias 创建时间开始
	C创建时间开始 int `alias:"创建时间开始" date:"dateHMS"`
	// @alias 创建时间结束
	C创建时间结束 int `alias:"创建时间结束" date:"dateHMS"`
	// @alias 更新时间
	G更新时间 int `alias:"更新时间" date:"dateHMS"`
	// @alias 创建时间
	C创建时间 int `alias:"创建时间" date:"dateHMS"`
}

// 邮件任务创建约束
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type Y邮件任务创建约束 struct {
	// @alias 目标类型
	M目标类型 gamedo.Y邮件任务目标 `alias:"目标类型"`
	// @alias 需要游戏服编组
	X需要游戏服编组 []interface{} `alias:"需要游戏服编组" dlink:"游戏服编组"`
	// @alias 需要游戏服
	X需要游戏服 []interface{} `alias:"需要游戏服" dlink:"游戏服"`
	// @alias 排除游戏服编组
	P排除游戏服编组 []interface{} `alias:"排除游戏服编组" dlink:"游戏服编组"`
	// @alias 排除游戏服
	P排除游戏服 []interface{} `alias:"排除游戏服" dlink:"游戏服"`
	// @alias 需要角色
	X需要角色 []interface{} `alias:"需要角色" dlink:"角色"`
	// @alias 创建时间开始
	C创建时间开始 int `alias:"创建时间开始" date:"dateHMS"`
	// @alias 创建时间结束
	C创建时间结束 int `alias:"创建时间结束" date:"dateHMS"`
	// @alias 邮件模板
	Y邮件模板 interface{} `alias:"邮件模板" dlink:"邮件配置"`
}
